// "Copyright [2021] <Copyright Shengkai Lin>"

// This module describes the OXC, Optical Swtich

package cluster.optical_devices;

simple OpticalDevice {
    parameters:
        @networkNode;
        @configuratorRouteIgnore;
        @dataplane;
        @controlplane_sdn;
        // OXC=0 Optical Switch=1
        int opticaldevice_type = default(0); 
        double switch_delay = default(0.00005);
        int numOptical_port;
        int my_index;

    gates:
        inout controller_port;
        inout optical_port[numOptical_port];
}